<?php

class NewsletterController extends Controller {
    /**
     * 
     */
    public function filters() {
        parent::filters();
        $this->menu_backend = "#cms";
    }
    
    /**
     * 
     */
    public function actionIndex() {
        $newsletters = Newsletter::model()->findAll();
        $this->render('index',array('newsletters' => $newsletters));
    }
    
    /**
     * 
     */
    public function actionAdd() {
        $model = new Newsletter();
        if (isset($_POST['Newsletter'])) {
            $model->attributes = $_POST['Newsletter'];
            $model->created = date('Y-m-d');
            if ($model->save()) {
                Yii::app()->user->setFlash('success', "bản tin đã được lưu");
                $this->redirect(array('Newsletter/index'));
            }
        }
        $this->render('add', array('model' => $model));
    }

    /**
     * 
     */
    public function actionUpdate($id = null) {
        if ($id != null) {
            $model = Newsletter::model()->findByPk($id);
            if ($model != null) {
                if (isset($_POST['Newsletter'])) {
                    $model->attributes = $_POST['Newsletter'];
                    if ($model->save()) {
                        Yii::app()->user->setFlash('success', "bản tin đã được lưu");
                        $this->redirect(array('Newsletter/index'));
                    }
                    
                }
            } else {
                throw new CHttpException(404, 'bản tin này không dc tìm thấy.');
            }
        } else {
            throw new CHttpException(404, 'bản tin này không dc tìm thấy.');
        }
        $this->render('add', array('model' => $model));
    }

    /**
     * 
     */
    public function actionDelete($id=null) {
        if ($id != null) {
            $model = Newsletter::model()->findByPk($id);
            if ($model != null) {
                if ($model->delete()) {
                    Yii::app()->user->setFlash('success', "bản tin  đã được lưu");
                } else {
                    Yii::app()->user->setFlash('success', "lỗi hệ thông");
                }
                $this->redirect(array('Newsletter/index'));
            } else {
                throw new CHttpException(404, 'bản tin  này không dc tìm thấy.');
            }
        } else {
            throw new CHttpException(404, 'bản tin  này không dc tìm thấy.');
        }
    }
    
    /**
     * 
     */
    public function actionSend($id = null){
        if($id != null){
            $search = new Email();
            $search->gender = 0;
            $criteria = new CDbCriteria();
            if(isset($_REQUEST['Email'])){
                $params = array();
                $search->attributes = $_REQUEST['Email'];
                if($_REQUEST['Email']['gender'] != 0){
                    $criteria->addCondition('gender = :gender');
                    $params[':gender'] = $_REQUEST['Email']['gender'];
                }
                if(strlen($_REQUEST['Email']['email'] ) > 0){
                    $criteria->addCondition('email like :email');
                    $params[':email'] = '%'.$_REQUEST['Email']['email']."%";
                }
                $criteria->params = $params;

            }
            if(isset($_REQUEST['submit']) && isset($_REQUEST['email']) && count($_REQUEST['email']) > 0){
                $model = Newsletter::model()->findByPk($id);
                if ($model != null) {
                    $message = "<ul>";
                    $criteriaEmail = new CDbCriteria();
                    $criteriaEmail->addInCondition('id', $_REQUEST['email']);
                    $sendEmails = Email::model()->findAll($criteriaEmail);
                    //set up email
                    $message .= "<ul>";
                    $mail=Yii::app()->Smtpmail;
                    $mail->SetFrom('oanhngo113@gmail.com', '7buy');
                    $mail->Subject    = $model->title;
                    $mail->MsgHTML($model->body);
                    foreach($sendEmails as $value){
                        $message .= "<li>".$value->email."</li>";
                        $mail->AddAddress($value->email, "");
                    }
                    $message .= "</ul>";
                    if(!$mail->Send()) {
                        Yii::app()->user->setFlash('success', "lỗi hệ thông".$mail->ErrorInfo);
                    }else {
                        Yii::app()->user->setFlash('success', "Hệ thống đã gửi mail đến các địa chỉ sau đây: ".$message);
                    }
                    
                }else{
                    throw new CHttpException(404, 'bản tin  không dc tìm thấy.');
                }
            }

            $emails = Email::model()->findAll($criteria);
            $this->render('send',array('emails' => $emails,'search' => $search));
        }else{
            throw new CHttpException(404, 'bản tin  không dc tìm thấy.');
        }
    }

}